﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PokeCrawl
{
    class Pokemon
    {
        
        string name = "";

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        int  ID = 0;

        public int ID1
        {
            get { return ID; }
            set { ID = value; }
        }
        string species = "";

        public string Species
        {
            get { return species; }
            set { species = value; }
        }
        string Description = "";

        public string Description1
        {
            get { return Description; }
            set { Description = value; }
        }
        string Size = "";

        public string Size1
        {
            get { return Size; }
            set { Size = value; }
        }
        string Weight = "";

        public string Weight1
        {
            get { return Weight; }
            set { Weight = value; }
        }
        string Gender = "";

        public string Gender1
        {
            get { return Gender; }
            set { Gender = value; }
        }
        int HP = 0;

        public int HP1
        {
            get { return HP; }
            set { HP = value; }
        }
        int ATK = 0;

        public int ATK1
        {
            get { return ATK; }
            set { ATK = value; }
        }
        int DEF = 0;

        public int DEF1
        {
            get { return DEF; }
            set { DEF = value; }
        }
        int SPA = 0;

        public int SPA1
        {
            get { return SPA; }
            set { SPA = value; }
        }
        int SPD = 0;

        public int SPD1
        {
            get { return SPD; }
            set { SPD = value; }
        }
        int AGI = 0;

        public int AGI1
        {
            get { return AGI; }
            set { AGI = value; }
        }
        string EXP = "";

        public string EXP1
        {
            get { return EXP; }
            set { EXP = value; }
        }
        double baseXP = 0;

        public double BaseXP
        {
            get { return baseXP; }
            set { baseXP = value; }
        }
        double CatchRate = 0;

        public double CatchRate1
        {
            get { return CatchRate; }
            set { CatchRate = value; }
        }
        string XPType = "";

        public string XPType1
        {
            get { return XPType; }
            set { XPType = value; }
        }
        string ability = "";

        public string Ability
        {
            get { return ability; }
            set { ability = value; }
        }
        string evolve = "";

        public string Evolve
        {
            get { return evolve; }
            set { evolve = value; }
        }
     
        

        string type = "";

        public string Type
        {
            get { return type; }
            set { type = value; }
        }

        List<string[]> learnedMoves = new List<string[]>();

        private List<string[]> LearnedMoves2
        {
            get { return learnedMoves; }
            set { learnedMoves = value; }
        }

        List<string[]> TMHMMoves = new List<string[]>();

        private List<string[]> TMHMMoves1
        {
            get { return TMHMMoves; }
            set { TMHMMoves = value; }
        }

        List<string[]> TutorMoves = new List<string[]>();

        private List<string[]> TutorMoves1
        {
            get { return TutorMoves; }
            set { TutorMoves = value; }
        }

        List<string> Abilities = new List<string>();

        public List<string> Abilities1
        {
            get { return Abilities; }
            set { Abilities = value; }
        }

        public Pokemon(string Name, int ID, string Type,string Species, string height, string weight,string catchRate,string genderRate,string baseXp, int[] ev,int[]baseStats,string description, List<string[]> learnedMoves,
                        List<string[]> TMHMMoves,List<string[]> TutorMoves, List<string> abilities)
        {
            this.Name = Name;
            this.ID = ID;
            this.Type = Type;
            this.Species = Species;
            this.Size1 = height;
            this.Weight1 = weight;
            this.HP1 = baseStats[0];
            this.ATK1 = baseStats[1];
            this.DEF1 = baseStats[2];
            this.SPA1 = baseStats[3];
            this.SPD1 = baseStats[4];
            this.AGI1 = baseStats[5];
            this.Description1 = description;
            this.BaseXP =Convert.ToDouble(baseXp.Split(':')[0]);
            this.LearnedMoves2 = learnedMoves;
            this.TMHMMoves1 = TMHMMoves;
            this.TutorMoves1 = TutorMoves;
            this.Abilities1 = abilities;


            string catchRatio = "";
            for (int i = 5; i >= 1; i--)
            {
                catchRatio += catchRate[catchRate.Length - i];
            }
            
            

            this.CatchRate1 = Convert.ToDouble( catchRatio.Split('%')[0].Replace('.',','));
            this.Gender = genderRate;
        }
    }
}
